home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 25
/
Cream of the Crop 25.iso
/
bbs
/
pcsuni1.zip
/
HOHO302.ZIP
/
HOHAUS.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1997-03-24
|
27KB
|
1,015 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.2O (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer TINTEGER006(99)
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
Integer INTEGER013
Integer INTEGER014
Integer INTEGER015
Integer INTEGER016
Integer INTEGER017
Integer INTEGER018
Integer INTEGER019
Integer INTEGER020
Integer INTEGER021
Integer INTEGER022
Integer INTEGER023
Integer INTEGER024
Integer INTEGER025
Integer INTEGER026
Integer INTEGER027
Integer INTEGER028
Integer INTEGER029
Integer INTEGER030
Integer INTEGER031
Integer INTEGER032
Integer INTEGER033
Integer INTEGER034
String STRING001
String TSTRING002(3)
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String STRING015
String STRING016
String STRING017
String STRING018
String STRING019
String STRING020
String STRING021
String STRING022
String STRING023
String STRING024
;------------------------------------------------------------------------------
STRING003 = GetToken()
If (((Upper(STRING003) == "MAINT") || (Upper(STRING003) == "/MAINT")) && OnLocal()) Goto LABEL004
Goto LABEL001
End
If (0 == 0) STRING004 = "NO"
If (0 == 1) STRING004 = "YES"
EndFunc
:LABEL001
STRING010 = "HO' HOUSE v3.02"
BOOLEAN001 = 0
STRING005 = "HOHAUS6"
If (!Exist(PPEPath() + STRING005 + ".PPE")) End
Call PPEPath() + STRING005 + ".PPE"
If (Exist(PPEPath() + "UNIVERSL.KEY")) Then
Goto LABEL025
Endif
If (Exist(PPEPath() + "UNI.KEY")) Then
Goto LABEL026
Endif
If (Exist(PPEPath() + PPEName() + ".KEY")) Then
FOpen 2, PPEPath() + PPEName() + ".KEY", 0, 0
FGet 2, STRING006
FGet 2, STRING007
FGet 2, STRING011
FClose 2
STRING008 = Mid(STRING006, 2, 1)
STRING009 = Mid(STRING007, 5, 1)
STRING008 = Abs(Asc(STRING008) + 37 - 100)
STRING009 = Abs(Asc(STRING009) + 37 - 100)
If ((Mid(STRING011, 1, 2) == STRING008) && (Mid(STRING011, 79, 2) == STRING009)) Then
BOOLEAN001 = 1
Goto LABEL002
Endif
BOOLEAN001 = 0
Endif
:LABEL002
StartDisp 1
Print "@X0F@CLS@@X07"
PrintLn ""
PrintLn " @X07┌┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┐"
PrintLn " ├┼┼@X0F┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┘@X07┼┼┤"
PrintLn " ├┼┼@X0F┼┼@X77┼@X70┌───────────────────────────────────────────────────────@X7F┐@X77┼@X08┼┼@X07┼┼┤"
PrintLn " ├┼┼@X0F┼┼@X77┼@X70│ @X71 @X7F│@X77┼@X08┼┼@X07┼┼┤"
PrintLn " ├┼┼@X0F┼┼@X77┼@X70│ ┌─────────────────────────────────────────────@X7F┐ │@X77┼@X08┼┼@X07┼┼┤"
PrintLn " ├┼┼@X0F┼┼@X77┼@X70│ │ @X7F│ │@X77┼@X08┼┼@X07┼┼┤"
PrintLn " ├┼┼@X0F┼┼@X77┼@X70│ │ @X71PRACTICAL COMPUTER SERVICES@X70 @X7F│ │@X77┼@X08┼┼@X07┼┼┤"
PrintLn " ├┼┼@X0F┼┼@X77┼@X70│ │ @X7F│ │@X77┼@X08┼┼@X07┼┼┤"
PrintLn " ├┼┼@X0F┼┼@X77┼@X70│ │ @X74 @X70 @X74 @X71PRESENTS@X70 @X7F│ │@X77┼@X08┼┼@X07┼┼┤"
PrintLn " ├┼┼@X0F┼┼@X77┼@X70│ │ @X7F │ │@X77┼@X08┼┼@X07┼┼┤"
PrintLn " ├┼┼@X0F┼┼@X77┼@X70│ └@X7F─────────────────────────────────────────────┘ │@X77┼@X08┼┼@X07┼┼┤"
PrintLn " ├┼┼@X0F┼┼@X77┼@X70└@X7F───────────────────────────────────────────────────────┘@X77┼@X08┼┼@X07┼┼┤"
PrintLn " ├┼┼@X0F┘@X08┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼@X07┼┼┤"
PrintLn " └┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┘"
PrintLn ""
PrintLn " @X0D▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X0F"
PrintLn " @X8E", STRING010, "@POS:48@@X0B(c)1996 All Rights Reserved@X0F"
PrintLn " @X0D▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X0F"
If (BOOLEAN001) Then
PrintLn "@X0B REGISTERED TO: @X0A", STRING006, "@X0B at @X0A", STRING007, "@X0F"
Newline
Else
If (BOOLEAN001) Goto LABEL003
PrintLn " @X8CUNREGISTERED EVALUATION COPY@X08"
Newline
INTEGER007 = 1
Color 15
For INTEGER007 = 10 To 1 Step -1
Print " DELAYING ", INTEGER007, " SECOND(S)..."
Delay 19
Backup 80
Next
Goto LABEL003
Endif
:LABEL003
Print "@X0APlease wait @X02"
If (!Exist(PPEPath() + "PCS.DBF")) Call PPEPath() + "HOHAUS5.PPE"
If (!Exist(PPEPath() + "HOHAUS.DBF")) Call PPEPath() + "HOHAUS5.PPE"
STRING019 = "@X0C√@X07"
STRING020 = "@X0A√@X07"
STRING023 = "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X0F"
STRING024 = "@X10└@X19─────────────────────────────────────────────────────────────────────────────@X19┘@X0F"
STRING021 = "@X40┌─────────────────────────────────────────────────────────────────────────────@X4C┐@X0F"
STRING022 = "@X40└@X4C─────────────────────────────────────────────────────────────────────────────@X4C┘@X0F"
DOpen 0, PPEPath() + "PCS.DBF", 0
DTop 0
DGet 0, "MAINTDATE", INTEGER023
DGet 0, "DAYDELETE", INTEGER024
DGet 0, "HOPICK", INTEGER025
DGet 0, "NDAYS", INTEGER026
DGet 0, "HOEARN", INTEGER027
DGet 0, "UPCOST", INTEGER028
DGet 0, "TRANS_LMT", INTEGER029
DGet 0, "OPD", INTEGER030
DGet 0, "ODDS", INTEGER031
DGet 0, "NOD", INTEGER032
DGet 0, "NOB", INTEGER033
DGet 0, "ENTRIES", INTEGER034
DClose 0
INTEGER022 = INTEGER022 + INTEGER033
If (INTEGER023 == ToInteger(Date())) Goto LABEL007
:LABEL004
DClose 5
DOpen 5, PPEPath() + "PCS.DBF", 0
DPut 5, "MAINTDATE", ToInteger(Date())
DClose 5
DOpen 1, PPEPath() + "HOHAUS.DBF", 0
DTop 1
:LABEL005
If (DEof(1)) Goto LABEL006
DPut 1, "ENTRIES", 0
If (DGet(1, "L_DATE") + INTEGER024 < ToInteger(Date())) DDelete 1
DSkip 1, 1
Goto LABEL005
:LABEL006
DTop 1
DPack 1
DClose 1
If (((Upper(STRING003) == "MAINT") || (Upper(STRING003) == "/MAINT")) && OnLocal()) Goto LABEL024
:LABEL007
STRING013 = String(PcbNode())
Print STRING020
If (PcbNode() == 0) STRING013 = "A"
Print STRING020
STRING014 = String(Random(1000)) + "X" + STRING013
Print STRING020
STRING015 = String(Random(1000)) + "X" + STRING013
Print STRING020
DOpen 0, PPEPath() + "HOHAUS.DBF", 0
Print STRING019
DTop 0
Print STRING019
DnCreate 0, PPEPath() + STRING015 + ".NDX", "HANDLE"
Print STRING019
DnCloseAll 0
DnCreate 0, PPEPath() + STRING014 + ".NDX", "NAME"
Print STRING019
DSeek 0, U_Name()
Print STRING019
If (DChkStat(0) > 0) Goto LABEL019
Print STRING019
SetEnv STRING013 + "RECNO=" + String(DRecNo(0))
STRING018 = ToInteger(GetEnv(STRING013 + "RECNO"))
If ((DGet(0, "L_DATE") == ToInteger(Date())) && (DGet(0, "ENTRIES") > INTEGER034)) Then
Gosub LABEL023
Else
Backup 80
ClrEol
Print "@X0APlease wait @X02"
DPut 0, "ENTRIES", DGet(0, "ENTRIES") + 1
DOpen 2, PPEPath() + "LADIES.DBF", 0
Backup 80
ClrEol
Print "@X0AHang - Lookin' fo' yo' ho's @X02"
DTop 2
INTEGER019 = 1
STRING012 = "G1"
INTEGER021 = 1
:LABEL008
If (DEof(2)) Goto LABEL010
If (Strip(DGet(2, "OWNEDBY"), " ") == "NONE") Goto LABEL009
If (Strip(DGet(2, "OWNEDBY"), " ") == Strip(DGet(0, "HANDLE"), " ")) Then
DPut 0, STRING012, DGet(2, "NUMBER")
Print STRING020
Inc INTEGER019
If (INTEGER019 > 10) Goto LABEL010
STRING012 = Strip("G" + String(INTEGER019), " ")
Endif
:LABEL009
DSkip 2, 1
Print STRING019
If (INTEGER021 == 25) Then
Backup 25
ClrEol
INTEGER021 = 0
Endif
Inc INTEGER021
Goto LABEL008
:LABEL010
DPut 0, "L_DATE", ToInteger(Date())
DPut 0, "PLAYED", DGet(0, "PLAYED") + 1
DPut 0, "C_ACT_L", INTEGER030
Backup 80
ClrEol
:LABEL011
StartDisp 1
BOOLEAN002 = 1
Gosub LABEL021
Newlines 2
If (AnsiOn()) Newline
PrintLn " @X10┌───────────────────────────────────────────────────────────────@X19┐@X19@X0F"
If (Len(Trim(DGet(0, "MESSAGE"), " ")) == 0) Then
Print " @X10│ @X9BA@X93djust Phrase!"
Else
Print " @X10│ @X1BA@X13djust Phrase!"
Endif
PrintLn " @X1BB@X13uy Condoms @X1BF@X13ind Whore @X19│@X0F"
PrintLn " @X10│ @X1BO@X13ffensive Actions! @X1BG@X13et Cronies! @X1BP@X13ay Off Police @X19│@X0F"
Print " @X10│ @X1BD@X13octor @X1BE@X13nter Bank "
If (Exist(PPEPath() + String(DGet(0, "MAIL_NUM")) + ".MSG")) Then
PrintLn "@X9BM@X93essage Menu @X19│@X0F"
Else
PrintLn "@X1BM@X13essage Menu @X19│@X0F"
Endif
Print " @X10│ @X1BL@X13ow/Hi Gambling! @X1A(@X1C", INTEGER022, "@X1A)@X1B"
PrintLn " @X1BU@X13pgrade Whore House @X1BW@X13hore Info @X19│@X0F"
PrintLn " @X10│ @X1BQ@X13uit Game @X1BS@X13tart Over! @X1BN@X13ext Day @X19│@X0F"
Print " @X10│ @X1BV@X13iew Scores @X1BH@X13elp "
If (CurSec() >= SysopSec()) Then
PrintLn "@X1BR@X13estricted!@X19@POS:72@│@X0F"
Else
PrintLn "@POS:72@@X19│@X0F"
Endif
PrintLn " @X10└@X19───────────────────────────────────────────────────────────────┘@X0F"
If (BOOLEAN001 == 0) Then
PrintLn " @X8C█ █ █ @X0CUnregistered Software - Help your SysOp register this program! @X8C█ █ █@X0F"
Endif
If (AnsiOn()) Goto LABEL012
Newline
Print " @X03Your choice ", Mixed(Trim(DGet(0, "HANDLE"), " ")), " @X0A>@X0F "
InputStr "_", STRING012, 15, 1, "AOLDQVBGEUSHFPMWNR", 0 + 8
Goto LABEL013
:LABEL012
AnsiPos 10, 12
Print "@X03Your choice ", Mixed(Trim(DGet(0, "HANDLE"), " ")), " @X0A>@X0F "
InputStr "_", STRING012, 15, 1, "AOLDQVBGEUSHFPMWNR", 0 + 8
:LABEL013
If (STRING012 == "") Goto LABEL011
Select Case (STRING012)
Case "A"
Gosub LABEL021
Newlines 2
PrintLn STRING023
PrintLn "@X10│ @X1EOld Phrase @X1D:@X1B ", DGet(0, "MESSAGE"), "@POS:79@@X19│@X0F"
PrintLn STRING024
STRING012 = DGet(0, "MESSAGE")
Newline
InputStr " @X0ANew Phrase @X0D: @X0E_", STRING012, 15, 50, Mask_Ascii(), 0
If (STRING012 == "") Goto LABEL011
DPut 0, "MESSAGE", STRING012
STRING012 = ""
Goto LABEL011
Case "B"
Gosub LABEL021
Newlines 2
PrintLn STRING023
PrintLn "@X10│ @X1EYou currently have @X1B", Trim(DGet(0, "CONDOMS"), " "), "@X1E Cost is@X12 ", DGet(0, "LEVEL") * 83, "@X1E Per Hundred.@POS:79@@X19│@X0F"
PrintLn "@X10│@POS:79@@X19│@X0F"
PrintLn "@X10│ @X1CHow many hundred more would you like to purchase?@POS:79@@X19│@X0F"
PrintLn STRING024
Newline
InputStr "Hundred to buy _", INTEGER008, 15, 2, Mask_Num(), 0
If ((INTEGER008 == "") || (INTEGER008 == 0)) Goto LABEL011
If (DGet(0, "LEVEL") * 100 > DGet(0, "CASH")) Gosub LABEL022
DPut 0, "CONDOMS", DGet(0, "CONDOMS") + INTEGER008 * 100
DPut 0, "CASH", DGet(0, "CASH") - INTEGER008 * 100
Goto LABEL011
Case "F"
:LABEL014
If (INTEGER020 > 9) Then
Newlines 3
PrintLn STRING021
PrintLn "@X40│ @X4EYOU CAN'T HANDLE ANY MORE GIRLS! @POS:79@@X4C│@X0F"
PrintLn STRING022
Delay (2 * 182) / 10
Goto LABEL011
Endif
If (DGet(0, "LOOKS") < 1) Then
Gosub LABEL023
Goto LABEL011
Endif
:LABEL015
Gosub LABEL021
DOpen 2, PPEPath() + "LADIES.DBF", 0
INTEGER011 = Random(1000)
If (INTEGER011 > DRecCount(2)) Goto LABEL015
DGo 2, INTEGER011
For INTEGER019 = Goto To 10
Next
PrintLn
PrintLn " @X10┌──────────────────────────────────────@X19┐@X0F"
PrintLn " @X10│ @X1CWhore Name @X10│ @X1ELooks @X10│ @X1ASize @X10│ @X1BSick @X10@X19│@X0F"
PrintLn " @X10│ @X19──────────────────────────────────── @X19│@X0F"
PrintLn " @X10│ @X1E", DGet(2, "NAME"), "@POS:27@@X10│ @X1E", DGet(2, "RANK"), "@POS:43@@X10│ @X1A", DGet(2, "BS"), "@X10@POS:50@│ @X1B ? @POS:57@@X19│@X0F"
PrintLn " @X10└@X19──────────────────────────────────────┘@X0F"
InputStr " Keep this one, or Toss it back? (K/T)", STRING016, 15, 1, "KT", 0 + 8
If (STRING016 == "") Goto LABEL011
If (STRING016 == "T") Then
DPut 0, "LOOKS", DGet(0, "LOOKS") - 1
If ((DGet(0, "LOOKS") < 1) || (INTEGER020 > 9)) Then
Gosub LABEL023
Goto LABEL011
Endif
Goto LABEL015
Else
If (INTEGER020 > 9) Goto LABEL014
DPut 0, "LOOKS", DGet(0, "LOOKS") - 1
DPut 0, STRING012, DGet(2, "NUMBER")
DPut 2, "OWNEDBY", DGet(0, "HANDLE")
If (DGet(0, "LOOKS") < 1) Then
Gosub LABEL023
Goto LABEL011
Endif
Endif
Goto LABEL015
Case "O"
DCloseAll
Call PPEPath() + "HOHAUS1.PPE"
Goto LABEL011
Case "G"
Gosub LABEL021
If (DGet(0, "MUSCLE") > 9) Then
Newlines 3
PrintLn STRING021
PrintLn "@X40│ @X4E YOU CAN'T HANDLE ANY MORE MUSCLE! @POS:79@@X4C│@X0F"
PrintLn STRING022
Delay (2 * 182) / 10
Goto LABEL011
Goto LABEL011
Endif
INTEGER012 = DGet(0, "LEVEL") * 100
If (DGet(0, "CASH") < INTEGER012) Gosub LABEL022
Newlines 3
PrintLn STRING023
PrintLn "@X10│@X1E IT'LL COST YOU $", INTEGER012, " @POS:79@@X19│@X0F"
PrintLn "@X10│@X1E @POS:79@@X19│@X0F"
PrintLn "@X10│@X1E BUY SOME MUSCLE? @POS:79@@X19│@X0F"
PrintLn STRING024
InputStr " @X09[@X0BY@X09]@X03es @X09[@X0BN@X09]@X03o _", STRING012, 15, 1, "YN", 0 + 8
If (STRING012 == "N") Goto LABEL011
DPut 0, "CASH", DGet(0, "CASH") - DGet(0, "LEVEL") * 100
DPut 0, "MUSCLE", DGet(0, "MUSCLE") + 1
Goto LABEL011
Case "P"
Gosub LABEL021
Newlines 2
InputStr "@X0EAmount to pay your public servant@X0A? _", INTEGER008, 15, 9, Mask_Num(), 0
If ((INTEGER008 == "") || (INTEGER008 == 0)) Goto LABEL011
If (INTEGER008 > DGet(0, "CASH")) Then
Gosub LABEL022
Goto LABEL011
Endif
DPut 0, "CASH", DGet(0, "CASH") - INTEGER008
DPut 0, "BRIBEAMT", DGet(0, "BRIBEAMT") + INTEGER008
Goto LABEL011
Case "D"
Call PPEPath() + "HOHAUS4.PPE"
Goto LABEL011
Case "E"
:LABEL016
Gosub LABEL021
STRING012 = ""
Newlines 3
PrintLn STRING023
PrintLn "@X10│ @X1ACash on hand@X1E:@X12 ", Trim(DGet(0, "CASH"), " "), " @X1ACash in Account@X1E:@X12 ", Trim(DGet(0, "BANKED"), " "), "@POS:79@@X19│@X0F"
PrintLn "@X10│@POS:79@@X19│@X0F"
PrintLn "@X10│ @X1E[@X1BD@X1E]@X13eposit Cash @X1C■ @X1E[@X1BW@X1E]@X13ithdraw Cash @X1C■ @X1E[@X1BT@X1E]@X13ransfer Cash! @X1C■ @X1E[@X1BENTER@X1E] @X13to Return@POS:79@@X19│@X0F"
PrintLn STRING024
PrintLn
InputStr "Your Choice: _", STRING012, 15, 1, "DWT", 0 + 8
Backup 80
ClrEol
If (STRING012 == "") Goto LABEL011
If (STRING012 == "D") Then
InputStr "AMOUNT TO DEPOSIT: _", INTEGER008, 15, 9, Mask_Num(), 0
If (INTEGER008 > DGet(0, "CASH")) Then
Gosub LABEL022
Goto LABEL016
Endif
DPut 0, "BANKED", DGet(0, "BANKED") + INTEGER008
DPut 0, "CASH", DGet(0, "CASH") - INTEGER008
Goto LABEL016
Endif
If (STRING012 == "W") Then
InputStr "AMOUNT TO WITHDRAW: _", INTEGER008, 15, 9, Mask_Num(), 0
If (INTEGER008 > DGet(0, "CASH")) Then
Gosub LABEL022
Goto LABEL016
Endif
DPut 0, "BANKED", DGet(0, "BANKED") - INTEGER008
DPut 0, "CASH", DGet(0, "CASH") + INTEGER008
Goto LABEL016
Endif
If (STRING012 == "T") Then
If (DGet(0, "TRSF_AMT") >= INTEGER029) Then
Gosub LABEL023
Goto LABEL011
Endif
InputStr "USER TO TRANSFER TO: _", STRING012, 15, 15, Mask_Ascii(), 0 + 8
If (STRING012 == "") Goto LABEL016
DCloseAll
DOpen 0, PPEPath() + "HOHAUS.DBF", 0
DGo 0, STRING018
DOpen 1, PPEPath() + "HOHAUS.DBF", 0
Delete PPEPath() + STRING015
DnCreate 1, PPEPath() + STRING015, "HANDLE"
DTop 1
DSeek 1, Trim(STRING012, " ")
If (DChkStat(1) > 0) Then
Backup 80
ClrEol
PrintLn
PrintLn STRING021
PrintLn "@X40│ @X4E THAT PLAYER IS EITHER OUT OF TOWN OR DEAD.......@POS:79@@X4C│@X0F"
PrintLn STRING022
Delay (2 * 182) / 10
DClose 1
DnCloseAll 1
Delete PPEPath() + STRING015
Goto LABEL016
Endif
Backup 80
ClrEol
InputStr "AMOUNT TO TRANSFER: _", INTEGER008, 15, 9, Mask_Num(), 0
If ((INTEGER008 == "") || (INTEGER008 == 0)) Then
DClose 1
DnCloseAll 1
Delete PPEPath() + STRING015
Goto LABEL016
Endif
If (INTEGER008 > DGet(0, "CASH")) Then
DClose 1
DnCloseAll 1
Delete PPEPath() + STRING015
Gosub LABEL022
Goto LABEL016
Endif
DPut 0, "CASH", DGet(0, "CASH") - INTEGER008
DPut 1, "BANKED", DGet(1, "BANKED") + INTEGER008
DPut 0, "TRSF_AMT", DGet(0, "TRSF_AMT") + INTEGER008
DClose 1
DnCloseAll 1
Delete PPEPath() + STRING015
Goto LABEL016
Endif
Case "M"
DCloseAll
Call PPEPath() + "HOHAUS3.PPE"
Goto LABEL011
Case "L"
If (INTEGER022 < 1) Then
Gosub LABEL023
Goto LABEL011
Endif
If (Trim(DGet(0, "CASH"), " ") == "0") Then
Gosub LABEL022
Goto LABEL011
Endif
INTEGER022 = INTEGER022 - 1
Gosub LABEL021
PrintLn STRING023
PrintLn "@X10│ @X1BYou head down to the basement of your house for a bit of action when@POS:79@@X19│@X0F"
PrintLn "@X10│ @X1Bone of the regulars accosts you:@POS:79@@X19│@X0F"
PrintLn "@X10│@POS:79@@X19│@X0F"
PrintLn "@X10│ @X1BI know a number under a hundred, and I'll bet you any amount@POS:79@@X19│@X0F"
PrintLn "@X10│ @X1Bthat you can't guess it. I'll even give you @X1E", INTEGER031, "@X1B guesses at it.@POS:79@@X19│@X0F"
PrintLn STRING024
Newline
:LABEL017
InputStr "@X0B So tell me, how many dollars do you want to bet @X0E> _", INTEGER016, 15, 10, Mask_Num(), 0
If ((INTEGER016 == "") || (INTEGER016 == 0)) Then
Gosub LABEL021
PrintLn STRING021
PrintLn "@X40│ @X4EScared to bet with an old cripple, eh?@POS:79@@X4C│@X0F"
PrintLn STRING022
Print " "
Wait
Goto LABEL011
Endif
If (INTEGER016 > DGet(0, "CASH")) Then
Gosub LABEL021
PrintLn STRING021
PrintLn "@X40│ @X4EHey, show the cash first!@POS:79@@X4C│@X0F"
PrintLn STRING022
Print " "
Wait
Goto LABEL017
Endif
Cls
Newlines 2
DPut 0, "CASH", DGet(0, "CASH") - INTEGER016
Gosub LABEL021
PrintLn STRING023
PrintLn "@X10│ @X1BOk, I have my number all set, and to make it fair, I will tell it to the@POS:79@@X19│@X0F"
PrintLn "@X10│ @X1BBouncer standing right next to you. He leans over and whispers something@POS:79@@X19│@X0F"
PrintLn "@X10│ @X1Bunintelligble to the man next to you.@POS:79@@X19│@X0F"
PrintLn STRING024
Newlines 3
Print " "
Wait
Cls
INTEGER018 = Random(100)
Newline
For INTEGER009 = 1 To INTEGER031
Print "Guess #", INTEGER009
InputStr "@X04) @X0AWell what will it be @X8E>@X0F _", INTEGER017, 14, 3, Mask_Num(), 0
If (INTEGER017 < INTEGER018) Then
Newline
PrintLn "@X0BToo Low!@X0F"
Continue
Endif
If (INTEGER017 > INTEGER018) Then
Newline
PrintLn "@X0CToo High!@X0F"
Continue
Endif
Newline
PrintLn "@X89You Got It! I can't believe it!@X0F"
Newline
Gosub LABEL021
PrintLn STRING023
PrintLn "@X10│@X1AHere is your $@X12", INTEGER016 * 2, "@X1A, don't spend it all in one place!@POS:79@@X19│@X0F"
PrintLn STRING024
DPut 0, "CASH", DGet(0, "CASH") + INTEGER016 * 2
Newlines 2
Print " "
Wait
Goto LABEL011
Next
If (INTEGER009 >= 6) Then
Gosub LABEL021
PrintLn STRING021
PrintLn "@X40│ @XCELoser! @X4EI hardly ever lose this game! Thanks for the @X4A", INTEGER016, "@X4E bucks!@POS:79@@X4C│@X0F"
PrintLn STRING022
Newline
Print " "
Wait
Endif
Goto LABEL011
Case "U"
Gosub LABEL021
INTEGER015 = (DGet(0, "LEVEL") * 5000) * INTEGER028
If (DGet(0, "CASH") < INTEGER015) Then
Gosub LABEL022
Goto LABEL011
Endif
PrintLn STRING023
PrintLn "@X10│ @X1EIt'll cost you $@X1A", INTEGER015, "@X1E Pay it? @X1A[@X1BY@X1A/@X1BN@X1A]@POS:79@@X19│@X0F"
PrintLn STRING024
InputStr "_", STRING012, 15, 1, "YN", 0 + 8
If (STRING012 == "N") Goto LABEL011
DPut 0, "CASH", DGet(0, "CASH") - INTEGER015
DPut 0, "LEVEL", DGet(0, "LEVEL") + 1
DPut 0, "BRIBEAMT", 0
Goto LABEL011
Case "W"
DCloseAll
Call PPEPath() + "HOHAUS4.PPE"
Goto LABEL011
Case "Q"
Goto LABEL024
Case "S"
Gosub LABEL021
Newlines 2
PrintLn STRING021
PrintLn "@X40│ @X4E Are you **SURE** you want to delete your current record ? @POS:79@@X4C│@X0F"
PrintLn "@X40│ @POS:79@@X4C│@X0F"
PrintLn "@X40│ @X4E Type @XCEYES@X4E to start over again from scratch. @POS:79@@X4C│@X0F"
PrintLn STRING022
Newlines 2
InputStr " @X0EYES @X0Bor @X0CNO@X0F _", STRING012, 15, 3, Mask_Ascii(), 0 + 8
If (STRING012 == "YES") Then
DCloseAll
DOpen 0, PPEPath() + "HOHAUS.DBF", 0
DGo 0, STRING018
DOpen 2, PPEPath() + "LADIES.DBF", 0
DTop 2
For INTEGER010 = 1 To INTEGER020
STRING016 = Strip("G" + String(INTEGER010), " ")
DGo 2, DGet(0, STRING016)
DPut 2, "OWNEDBY", "NONE"
Next
DBlank 0
DDelete 0
Goto LABEL024
Endif
Goto LABEL011
Case "N"
If (INTEGER026 < 1) Then
Gosub LABEL023
Goto LABEL011
Endif
INTEGER026 = INTEGER026 - 1
INTEGER013 = Random(10)
If (INTEGER013 == 8) Goto LABEL018
DPut 0, "LOOKS", DGet(0, "LOOKS") + INTEGER025
If (DGet(0, "CONDOMS") < INTEGER020) Then
DClose 2
DOpen 2, PPEPath() + "LADIES.DBF", 0
For INTEGER019 = 1 To INTEGER020
STRING016 = Strip("G" + String(INTEGER019), " ")
If (Random(10) == 8) Then
DGo 2, DGet(0, STRING016)
DPut 2, "INFECTED", "Y"
Endif
Next
DClose 2
Endif
DClose 2
DOpen 2, PPEPath() + "LADIES.DBF", 0
DTop 2
INTEGER013 = 0
INTEGER014 = 0
For INTEGER010 = 1 To INTEGER020
STRING016 = Strip("G" + String(INTEGER010), " ")
DGo 2, DGet(0, STRING016)
If (DGet(2, "INFECTED") == "Y") INTEGER013 = DGet(2, "RANK") * DGet(2, "BS") * Abs(INTEGER027 / 2)
If (DGet(2, "INFECTED") == "N") INTEGER013 = DGet(2, "RANK") * DGet(2, "BS") * INTEGER027
INTEGER014 = INTEGER014 + INTEGER013
DPut 0, "CONDOMS", DGet(0, "CONDOMS") - Random(10)
Next
Gosub LABEL021
Newlines 3
PrintLn STRING023
PrintLn "@X10│ @X1EYour whores made you $@X1A", INTEGER014, "@X1E today.@POS:79@@X19│@X0F"
PrintLn STRING024
DPut 0, "CASH", DGet(0, "CASH") + INTEGER014
Delay (3 * 182) / 10
Goto LABEL011
Case "V"
Call PPEPath() + "HOHAUS2.PPE"
Goto LABEL011
Case "H"
Cls
DispFile PPEPath() + "HO-HELP.1", 4 + 1
Print " "
Wait
Goto LABEL011
Case "R"
DCloseAll
Call PPEPath() + "HOHAUS5.ppe"
Goto LABEL011
End Select
:LABEL018
Newlines 2
PrintLn STRING021
PrintLn "@X40│ @X4E YOU GOT YOURSELF NAILED IN A STING OPERATION! @POS:79@@X4C│@X0F"
PrintLn "@X40│ @POS:79@@X4C│@X0F"
If (DGet(0, "LEVEL") > 1) PrintLn "@X40│ @X4BYOU LOST A HOUSE LEVEL! @POS:79@@X4C│@X0F"
PrintLn "@X40│ @X4AYOUR BRIBED COPS WERE IN ON IT! @POS:79@@X4C│@X0F"
If (DGet(0, "MUSCLE") > 0) PrintLn "@X40│ @X4DONE OF YOUR BOUNCERS WAS SHOT BY THE COPS! @POS:79@@X4C│@X0F"
PrintLn STRING022
If (DGet(0, "LEVEL") > 1) DPut 0, "LEVEL", DGet(0, "LEVEL") - 1
DPut 0, "BRIBEAMT", 0
DPut 0, "CASH", 0
If (DGet(0, "MUSCLE") > 0) DPut 0, "MUSCLE", DGet(0, "MUSCLE") - 1
Delay (2 * 182) / 10
Goto LABEL011
:LABEL019
Cls
STRING012 = "N"
Newlines 4
PrintLn "@X07 @X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██"
PrintLn "@X8C @XC0██@X07┌────────────────────────────────────────────────────────────────────────┐@XC0██@X07"
PrintLn " @X8C██@X07│ │@X8C██"
PrintLn "@X8C @XC0██@X07│ @X0CHo' House @X0Eis an adult door game, and as such may offend your @X07│@XC0██@X07"
PrintLn " @X8C██@X07│ @X0Emoralistic sensibilities. If you are easily offended, have a @X07│@X8C██"
PrintLn "@X8C @XC0██@X07│ @X0Eproblem with sex, sexual innuendo, or debasing the opposite @X07│@XC0██@X07"
PrintLn " @X8C██@X07│ @X0Esex, then by all means answer @X0CN@X0E to the next question! @X07│@X8C██"
PrintLn "@X8C @XC0██@X07│ @X0EOtherwise hit @X09Y@X0E and hang on for the ride of your life! @X07│@XC0██@X07"
PrintLn "@X8C ██@X07│ @X07│@X8C██"
PrintLn "@X8C @XC0██@X07└────────────────────────────────────────────────────────────────────────┘@XC0██@X07"
PrintLn " @X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@XC0██@X8C██@X07"
Newlines 2
InputStr " @X0CDo you wish to continue this door game @X0E(@X0AY@X0E/@X0CN@X0E) _", STRING012, 15, 1, "YN", 0 + 8
If ((STRING012 == "N") || (STRING012 == "")) Then
DCloseAll
Else
Newlines 3
:LABEL020
STRING012 = ""
Print " @X0AAlias you want to use@X0E: .........................@X0F"
Backup 25
InputStr "_", STRING012, 10, 25, Mask_Ascii(), 0 + 8
DTop 0
DnOpen 0, PPEPath() + STRING015 + ".NDX"
DSeek 0, Trim(STRING012, " ")
If (DChkStat(0) < 1) Then
Backup 80
ClrEol
PrintLn "@X0EWe already have a@X0C ", STRING012, "@X0E here. Choose another alias.@X0F"
Delay (2 * 182) / 10
Goto LABEL020
Endif
DNew 0
DPut 0, "NAME", U_Name()
DPut 0, "HANDLE", STRING012
DPut 0, "LEVEL", 1
DPut 0, "STATUS", 1
DPut 0, "CASH", 1000
STRING017 = String(Random(99999)) + String(Random(99999))
DPut 0, "MAIL_NUM", Left(STRING017, 8)
DAdd 0
SetEnv STRING013 + "RECNO=" + String(DRecNo(0))
STRING018 = ToInteger(GetEnv(STRING013 + "RECNO"))
Goto LABEL010
:LABEL021
DCloseAll
DOpen 0, PPEPath() + "HOHAUS.DBF", 0
DGo 0, STRING018
INTEGER020 = 0
For INTEGER019 = 1 To 10
STRING012 = Strip("G" + String(INTEGER019), " ")
If (DGet(0, STRING012) > 0) Inc INTEGER020
Next
DPut 0, "DEFENSE", (DGet(0, "KILLS") + DGet(0, "MUSCLE") + DGet(0, "BANKED") + DGet(0, "BRIBEAMT") + INTEGER020) * DGet(0, "LEVEL")
DPut 0, "NETWORTH", DGet(0, "CASH") + DGet(0, "BANKED") + DGet(0, "LEVEL") * (DGet(0, "MUSCLE") * 100) + (INTEGER020 * 100) * DGet(0, "LEVEL")
If (DGet(0, "CONDOMS") < 1) DPut 0, "CONDOMS", 0
Cls
If (BOOLEAN002) Then
PrintLn STRING023
PrintLn "@X10│@X1F", Mixed(Trim(DGet(0, "HANDLE"), " ")), "'s Holdings@POS:40@@X13Networth@X10:@X1A ", Trim(DGet(0, "NETWORTH"), " "), "@X13@POS:65@Level@X10:@X1E ", Trim(DGet(0, "LEVEL"), " "), "@POS:79@@X19│@X0F"
PrintLn STRING024
Endif
PrintLn STRING023
PrintLn "@X10│@X13Defensive status@X10:@X1E ", DGet(0, "DEFENSE"), "@POS:25@@X13Condom Count @X10:@X1C ", Trim(DGet(0, "CONDOMS"), " "), "@X13@POS:50@Cronies@X10:@X1E ", Trim(DGet(0, "MUSCLE"), " "), "@POS:64@@X13Whores@X10:@X1C ", INTEGER020, "@POS:79@@X19│@X0F"
PrintLn STRING024
PrintLn "@X10┌──────────────────────────────@X19┐@X10┌────────────────────@X19┐@X10┌───────────────────────@X19┐@X0F"
PrintLn "@X10│@X13 Player Days left@X10: ", INTEGER026, "@X19@POS:32@│@X10│ ", " @X13Cash@X10:@X12 ", Trim(DGet(0, "CASH"), " "), "@X19@POS:54@│@X10│", " @X13Bribes out@X10:@X1D ", Trim(DGet(0, "BRIBEAMT"), " "), "@POS:79@@X19│@X0F"
PrintLn "@X10│@X13Offensive acts left@X10:@X9C ", Trim(DGet(0, "C_ACT_L"), " "), "@X19@POS:32@│@X10│ ", "@X13@POS:20@Banked@X10:@X1A ", Trim(DGet(0, "BANKED"), " "), "@POS:54@@X19│@X10│", "@X13 Played@X1E ", Trim(DGet(0, "PLAYED"), " "), "@X13 Times", "@POS:79@@X19│@X0F"
PrintLn "@X10└@X19──────────────────────────────┘@X10└@X19────────────────────┘@X10└@X19───────────────────────┘@X0F"
Return
:LABEL022
Gosub LABEL021
Newlines 3
PrintLn STRING021
PrintLn "@X40│ @X4EINSUFFICIENT CASH ON HAND! @POS:79@@X4C│@X0F"
PrintLn STRING022
Delay (2 * 182) / 10
Return
:LABEL023
Gosub LABEL021
Newlines 3
PrintLn STRING021
PrintLn "@X40│ @X4E YOU'RE OUT OF TIME FOR THIS ACTION TODAY! @POS:79@@X4C│@X0F"
PrintLn STRING022
Delay (2 * 182) / 10
Return
Endif
Endif
:LABEL024
Cls
DCloseAll
Delete PPEPath() + STRING014 + ".NDX"
Delete PPEPath() + STRING015 + ".NDX"
Cls
End
:LABEL025
FOpen 1, PPEPath() + "UNIVERSL.KEY", 0, 0
FDefIn 1
For INTEGER004 = 1 To 3
FDGet TSTRING002(INTEGER004)
Next
FClose 1
STRING001 = TSTRING002(1) + TSTRING002(2)
STRING001 = Strip(STRING001, " ")
For INTEGER005 = 1 To Len(STRING001)
TINTEGER006(INTEGER005) = Asc(Mid(STRING001, INTEGER005, 1))
Next
INTEGER002 = 0
For INTEGER005 = 1 To 99
INTEGER002 = INTEGER002 + TINTEGER006(INTEGER005)
Next
INTEGER003 = INTEGER002 * 659
INTEGER001 = INTEGER003
BOOLEAN001 = 0
If (INTEGER003 <> TSTRING002(3)) Then
BOOLEAN001 = 0
Else
BOOLEAN001 = 1
STRING006 = TSTRING002(1)
STRING007 = TSTRING002(2)
Endif
Goto LABEL002
:LABEL026
FOpen 1, PPEPath() + "UNI.KEY", 0, 0
FDefIn 1
For INTEGER004 = 1 To 3
FDGet TSTRING002(INTEGER004)
Next
FClose 1
STRING001 = TSTRING002(1) + TSTRING002(2)
STRING001 = Strip(STRING001, " ")
For INTEGER005 = 1 To Len(STRING001)
TINTEGER006(INTEGER005) = Asc(Mid(STRING001, INTEGER005, 1))
Next
INTEGER002 = 0
For INTEGER005 = 1 To 99
INTEGER002 = INTEGER002 + TINTEGER006(INTEGER005)
Next
INTEGER003 = INTEGER002 * 659
INTEGER001 = INTEGER003
BOOLEAN001 = 0
If (INTEGER003 <> TSTRING002(3)) Then
BOOLEAN001 = 0
Else
BOOLEAN001 = 1
STRING006 = TSTRING002(1)
STRING007 = TSTRING002(2)
Endif
Goto LABEL002
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 3 End
; 7 Cls
; 8 ClrEol
; 6 Wait
; 1 Color
; 195 Goto
; 106 Let
; 32 Print
; 140 PrintLn
; 118 If
; 1 DispFile
; 3 FOpen
; 3 FClose
; 3 FGet
; 2 StartDisp
; 7 Delete
; 18 InputStr
; 33 Gosub
; 3 Return
; 9 Delay
; 3 Inc
; 13 Newline
; 20 Newlines
; 9 Call
; 1 AnsiPos
; 10 Backup
; 2 FDefIn
; 2 FDGet
; 2 SetEnv
; 1 EndFunc
; 13 DOpen
; 11 DClose
; 1 DPack
; 9 DCloseAll
; 3 DnCreate
; 1 DnOpen
; 5 DnCloseAll
; 1 DNew
; 1 DAdd
; 9 DTop
; 7 DGo
; 2 DSkip
; 1 DBlank
; 2 DDelete
; 3 DSeek
; 12 DGet
; 48 DPut
;
;
; ■ Functions used :
;
; 3 -
; 29 *
; 9 /
; 124 +
; 17 -
; 61 ==
; 3 <>
; 25 <
; 13 <=
; 22 >
; 29 >=
; 83 !
; 30 &&
; 21 ||
; 5 Len(
; 4 Upper()
; 6 Mid()
; 1 Left()
; 4 Asc()
; 20 Trim()
; 9 Random()
; 5 Date()
; 2 U_Name()
; 11 Strip()
; 14 String()
; 7 Mask_Num()
; 4 Mask_Ascii()
; 44 PPEPath()
; 2 PcbNode()
; 1 SysopSec()
; 2 OnLocal()
; 1 CurSec()
; 1 GetToken()
; 2 GetEnv()
; 7 Exist()
; 2 AnsiOn()
; 3 Abs()
; 2 PPEName()
; 7 ToInteger()
; 3 Mixed()
; 2 DEof()
; 1 DRecCount()
; 2 DRecNo()
; 105 DGet()
; 3 DChkStat()
;
;------------------------------------------------------------------------------
;
; Analysis flags : Cs
;
; C - Call child PPE ■ 3
; This is usually normal, but may be a tricky way to launch some
; sysop-only commands.
; ■ Search for : CALL
;
; s - Sysop level access ■ 5
; Program is reading the sysop access level, this may be normal
; but still it is very suspect. It is the best way to give a user
; all priviledges. Check!
; ■ Search for : SYSOPSEC()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 13 For/Next
; 0 While/EndWhile
; 45 If/Then or If/Then/Else
; 1 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------